package com.xkw.demo.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

public class MyInterceptor implements HandlerInterceptor {
	// JDK8后，三个方法已经有了默认实现，所以不一定要重写。但我们写拦截器就是为了重写
	// preHandle()、postHandle()、afterCompletion()
	/**
	 * 
	 * preHandle
	 * 调用时间：Controller方法处理之前
	 * 执行顺序：链式Intercepter情况下，Intercepter按照声明的顺序一个接一个执行
	 * 若返回false，则中断执行，注意：不会进入afterCompletion
	 * 
	 * postHandle
	 * 调用前提：preHandle返回true
	 * 调用时间：Controller方法处理完之后，DispatcherServlet进行视图的渲染之前，也就是说在这个方法中你可以对ModelAndView进行操作
	 * 执行顺序：链式Intercepter情况下，Intercepter按照声明的顺序倒着执行。
	 * 备注：postHandle虽然post打头，但post、get方法都能处理
	 * 
	 * afterCompletion
	 * 调用前提：preHandle返回true
	 * 调用时间：DispatcherServlet进行视图的渲染之后
	 * 多用于清理资源
	 */
}
